package com.gitee.wsl.func.filter


/**
 * 对BloomFilter的封装。可以判断集合中是否包含某个元素，用于去重
 *
 * @param <T>
</T> */
interface IFilterSet<T>: Filter<T> {
    val isEmpty: Boolean

    fun add(elm: T)

    fun clear()

    fun filter(c: Collection<T>): Boolean {
        for (elm in c) {
            if (!filter(elm)) return false
        }
        return true
    }

    fun addAll(c: Collection<T>) {
      for (elm in c) {
          add(elm)
      }
    }
}